/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.hycreate.platform.modules.crm.project;

import java.util.List;

import com.hycreate.platform.common.persistence.CrudDao;
import com.hycreate.platform.common.persistence.annotation.MyBatisDao;
import com.hycreate.platform.modules.crm.business.CrmSysDict;
import com.hycreate.platform.modules.crm.business.Customer;
import com.hycreate.platform.modules.sys.entity.Office;
import com.hycreate.platform.modules.sys.entity.User;

/**
 * 项目管理DAO接口
 * @author hj
 * @version 2016-12-02
 */
@MyBatisDao
public interface ProjectDao extends CrudDao<Project> {
	/**
	 * 查询登录用户的项目
	 * @param user
	 * @return
	 */
	public List<Project>findAllProject(User user);
	/**
	 * 查询所有客户
	 * @return
	 */
	public List<Customer>findAllCustomer();
	/**
	 * 查询所有部门
	 * @return
	 */
	public List<Office> findAllDept();
	/**
	 * 查询部门下的员工
	 * @param deptId
	 * @return
	 */
	public List<User> findUser(String deptId);
	/**
	 * 按条件查询项目
	 * @param project
	 * @return
	 */
	public List<Project> findProject(Project project);
	/**
	 * 修改项目的联系人
	 * @param project
	 */
	public void changeContact(Project project);
	/**
	 * 查询项目所在公司的行业
	 * @param customer
	 * @return
	 */
	public List<CrmSysDict> findDict(Customer customer);
	/**
	 * 修改项目状态
	 * @param projectContact
	 */
	public void changeStatus(ProjectContact projectContact);
	/**
	 * 查询所有项目名
	 * @return
	 */
	public List<Project> findProjectName();
}